﻿namespace RuoYi.Framework.Entity;

/// <summary>
/// Defines an entity. It's primary key may not be "Id" or it may have a composite
/// primary key. Use Volo.Abp.Domain.Entities.IEntity`1 where possible for better
/// integration to repositories and other structures in the framework.
/// </summary>
/// <typeparam name="TPrimaryKey"></typeparam>
public interface IEntity<out TPrimaryKey> : IEntity
{
    /// <summary>
    /// Returns an array of ordered keys for this entity.
    /// </summary>
    /// <returns></returns>
    new TPrimaryKey[]? GetKeys();
}
